package com.imooc.article.service;

import com.imooc.pojo.Category;
import com.imooc.pojo.bo.NewArticleBO;
import com.imooc.utils.PagedGridResult;

import java.util.Date;

/**
 * @Description :
 * @Author : YTY
 * @Date : 2020-12-04 15:39
 */
public interface ArticleService {

    /**
     * 发布文章
     */
    public void createArticle(NewArticleBO newArticleBO,
                              Category category);

    /**
     * 定时任务更新发布
     */
    public void updateAppointToPublish();

    /**
     * MQ消息队列更新单条文章状态为即时发布
     */
    public void updateArticleToPublish(String articleId);

    /**
     * 用户中心 - 查询我的文章列表
     */
    public PagedGridResult queryMyArticleList(String userId,
                                              String keyword,
                                              Integer status,
                                              Date startDate,
                                              Date endDate,
                                              Integer page,
                                              Integer pageSize);


    /**
     * 更改文章状态
     */
    public void updateArticleStatus(String articleId, Integer pendingStatus);

    /**
     * 关联文章和GridFS的html文件id
     */
    public void updateArticleToGridFS(String articleId, String articleMongoId);

    public PagedGridResult queryAllArticleListAdmin(Integer status,
                                        Integer page,
                                        Integer pageSize);

    /**
     * 删除文章
     */
    public void deleteArticle(String userId, String articleId);

    /**
     * 撤回文章
     */
    public void withdrawArticle(String userId, String articleId);

}

